home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2002 #12
/
Amiga Plus CD - 2002 - No. 12.iso
/
Games
/
saga
/
source
/
ANIMTOOLS.H
< prev
next >
Wrap
C/C++ Source or Header
|
2002-11-04
|
5KB
|
88 lines
/* animtools.h */
#ifndef GELTOOLS_H
#define GELTOOLS_H
/*
** These data structures are used by the functions in animtools.c to
** allow for an easier interface to the animation system.
*/
/* Data structure to hold information for a new VSprite. */
typedef struct newVSprite {
WORD *nvs_Image; /* image data for the vsprite */
WORD *nvs_ColorSet; /* color array for the vsprite */
SHORT nvs_WordWidth; /* width in words */
SHORT nvs_LineHeight; /* height in lines */
SHORT nvs_ImageDepth; /* depth of the image */
SHORT nvs_X; /* initial x position */
SHORT nvs_Y; /* initial y position */
SHORT nvs_Flags; /* vsprite flags */
USHORT nvs_HitMask; /* Hit mask. */
USHORT nvs_MeMask; /* Me mask. */
} NEWVSPRITE;
/* Data structure to hold information for a new Bob. */
typedef struct newBob {
WORD *nb_Image; /* image data for the bob */
SHORT nb_WordWidth; /* width in words */
SHORT nb_LineHeight; /* height in lines */
SHORT nb_ImageDepth; /* depth of the image */
SHORT nb_PlanePick; /* planes that get image data */
SHORT nb_PlaneOnOff; /* unused planes to turn on */
SHORT nb_BFlags; /* bob flags */
SHORT nb_DBuf; /* 1=double buf, 0=not */
SHORT nb_RasDepth; /* depth of the raster */
SHORT nb_X; /* initial x position */
SHORT nb_Y; /* initial y position */
USHORT nb_HitMask; /* Hit mask. */
USHORT nb_MeMask; /* Me mask. */
} NEWBOB ;
/* Data structure to hold information for a new animation component. */
typedef struct newAnimComp {
WORD (*nac_Routine)(); /* routine called when Comp is displayed. */
SHORT nac_Xt; /* initial delta offset position. */
SHORT nac_Yt; /* initial delta offset position. */
SHORT nac_Time; /* Initial Timer value. */
SHORT nac_CFlags; /* Flags for the Component. */
} NEWANIMCOMP;
/* Data structure to hold information for a new animation sequence. */
typedef struct newAnimSeq {
struct AnimOb *nas_HeadOb; /* common Head of Object. */
WORD *nas_Images; /* array of Comp image data */
SHORT *nas_Xt; /* arrays of initial offsets. */
SHORT *nas_Yt; /* arrays of initial offsets. */
SHORT *nas_Times; /* array of Initial Timer value. */
WORD (**nas_Routines)(); /* Array of fns called when comp drawn */
SHORT nas_CFlags; /* Flags for the Component. */
SHORT nas_Count; /* Num Comps in seq (= arrays size) */
SHORT nas_SingleImage; /* one (or count) images. */
} NEWANIMSEQ;
#define INTUITIONNAME "intuition.library" /* intuitionbase.h does not define a library name. */
#include "animtools_proto.h" /* Include Prototyping. */
#endif
/* animtools_proto.h */
#include <clib/dos_protos.h>
#include <clib/exec_protos.h>
#include <clib/graphics_protos.h>
#include <clib/intuition_protos.h>
struct GelsInfo *setupGelSys(struct RastPort *rPort, BYTE reserved);
VOID cleanupGelSys(struct GelsInfo *gInfo, struct RastPort *rPort);
struct VSprite *makeVSprite(NEWVSPRITE *nVSprite);
struct Bob *makeBob(NEWBOB *nBob);
struct AnimComp *makeComp(NEWBOB *nBob, NEWANIMCOMP *nAnimComp);
struct AnimComp *makeSeq(NEWBOB *nBob, NEWANIMSEQ *nAnimSeq);
VOID freeVSprite(struct VSprite *vsprite);
VOID freeBob(struct Bob *bob, LONG rasdepth);
VOID freeComp(struct AnimComp *myComp, LONG rasdepth);
VOID freeSeq(struct AnimComp *headComp, LONG rasdepth);
VOID freeOb(struct AnimOb *headOb, LONG rasdepth);